summaryrefslogtreecommitdiffstats
path: root/CMakeModules/Findstb.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeModules/Findstb.cmake')
-rw-r--r--CMakeModules/Findstb.cmake31
1 files changed, 31 insertions, 0 deletions
diff --git a/CMakeModules/Findstb.cmake b/CMakeModules/Findstb.cmake
new file mode 100644
index 000000000..bff998580
--- /dev/null
+++ b/CMakeModules/Findstb.cmake
@@ -0,0 +1,31 @@
+# SPDX-FileCopyrightText: 2023 Alexandre Bouvier <contact@amb.tf>
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+find_path(stb_image_INCLUDE_DIR stb_image.h PATH_SUFFIXES stb)
+find_path(stb_image_resize_INCLUDE_DIR stb_image_resize.h PATH_SUFFIXES stb)
+find_path(stb_image_write_INCLUDE_DIR stb_image_write.h PATH_SUFFIXES stb)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(stb
+ REQUIRED_VARS
+ stb_image_INCLUDE_DIR
+ stb_image_resize_INCLUDE_DIR
+ stb_image_write_INCLUDE_DIR
+)
+
+if (stb_FOUND AND NOT TARGET stb::headers)
+ add_library(stb::headers INTERFACE IMPORTED)
+ set_property(TARGET stb::headers PROPERTY
+ INTERFACE_INCLUDE_DIRECTORIES
+ "${stb_image_INCLUDE_DIR}"
+ "${stb_image_resize_INCLUDE_DIR}"
+ "${stb_image_write_INCLUDE_DIR}"
+ )
+endif()
+
+mark_as_advanced(
+ stb_image_INCLUDE_DIR
+ stb_image_resize_INCLUDE_DIR
+ stb_image_write_INCLUDE_DIR
+)